﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Регл)
	///</summary>
	[DataContract]
	public enum ГруппыОС
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"7b962b54-e940-422c-8958-2c0d146d30f0\", \"Представление\":\"Здания\"}")]
		Здания = 0,
		[EnumMember(Value = "{\"Ссылка\":\"38259804-3ba9-4d83-904d-9aa009cc5d58\", \"Представление\":\"Сооружения\"}")]
		Сооружения = 1,
		[EnumMember(Value = "{\"Ссылка\":\"31bb34d4-6932-4cb1-94ab-2b01333ba1fe\", \"Представление\":\"МашиныИОборудование\"}")]
		МашиныИОборудование = 2,//Машины и оборудование (кроме офисного)
		[EnumMember(Value = "{\"Ссылка\":\"2e739637-6a90-4fdb-9033-97fcf42cbbc7\", \"Представление\":\"ОфисноеОборудование\"}")]
		ОфисноеОборудование = 3,//Офисное оборудование
		[EnumMember(Value = "{\"Ссылка\":\"386fed6b-f004-4177-b06c-8fff33547b9f\", \"Представление\":\"ТранспортныеСредства\"}")]
		ТранспортныеСредства = 4,//Транспортные средства
		[EnumMember(Value = "{\"Ссылка\":\"2f985e19-16d6-470a-b5ab-4e695c1d251e\", \"Представление\":\"ПроизводственныйИХозяйственныйИнвентарь\"}")]
		ПроизводственныйИХозяйственныйИнвентарь = 5,//Производственный и хозяйственный инвентарь
		[EnumMember(Value = "{\"Ссылка\":\"ef7d9b9c-4a4c-4cd9-be3b-6d89ca5d772d\", \"Представление\":\"РабочийСкот\"}")]
		РабочийСкот = 6,//Рабочий скот
		[EnumMember(Value = "{\"Ссылка\":\"63a13e9e-7bdd-4aa5-b7de-0ef841d954b7\", \"Представление\":\"ПродуктивныйСкот\"}")]
		ПродуктивныйСкот = 7,//Продуктивный скот
		[EnumMember(Value = "{\"Ссылка\":\"2b305e47-69d6-4931-bfb4-ea43bbe6f9e7\", \"Представление\":\"МноголетниеНасаждения\"}")]
		МноголетниеНасаждения = 8,//Многолетние насаждения
		[EnumMember(Value = "{\"Ссылка\":\"c942f63f-9180-4410-b5fe-e0cd46f0a6ac\", \"Представление\":\"ЗемельныеУчастки\"}")]
		ЗемельныеУчастки = 9,//Земельные участки
		[EnumMember(Value = "{\"Ссылка\":\"bce2e4f8-8205-4b4f-805c-785cc7e070cd\", \"Представление\":\"ОбъектыПриродопользования\"}")]
		ОбъектыПриродопользования = 10,//Объекты природопользования
		[EnumMember(Value = "{\"Ссылка\":\"184c9288-eb30-41e3-a9de-5d94c228ab82\", \"Представление\":\"КапитальныеВложенияВАрендованноеИмущество\"}")]
		КапитальныеВложенияВАрендованноеИмущество = 11,//Капитальные вложения в арендованное имущество
		[EnumMember(Value = "{\"Ссылка\":\"aef27133-9138-41ab-971c-4b280526708a\", \"Представление\":\"ДругиеВидыОсновныхСредств\"}")]
		ДругиеВидыОсновныхСредств = 12,//Другие виды основных средств
	}
	public static partial class ГруппыОС_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid Здания = new Guid("0d2c5889-6d14-f030-422c-e9407b962b54");
		public static readonly Guid Сооружения = new Guid("a09a4d90-cc09-585d-4d83-3ba938259804");
		public static readonly Guid МашиныИОборудование = new Guid("012bab94-3b33-fea1-4cb1-693231bb34d4");//Машины и оборудование (кроме офисного)
		public static readonly Guid ОфисноеОборудование = new Guid("fc973390-2cf4-c7bb-4fdb-6a902e739637");//Офисное оборудование
		public static readonly Guid ТранспортныеСредства = new Guid("ff8f6cb0-5433-9f7b-4177-f004386fed6b");//Транспортные средства
		public static readonly Guid ПроизводственныйИХозяйственныйИнвентарь = new Guid("694eabb5-1d5c-1e25-470a-16d62f985e19");//Производственный и хозяйственный инвентарь
		public static readonly Guid РабочийСкот = new Guid("896d3bbe-5dca-2d77-4cd9-4a4cef7d9b9c");//Рабочий скот
		public static readonly Guid ПродуктивныйСкот = new Guid("f80edeb7-d941-b754-4aa5-7bdd63a13e9e");//Продуктивный скот
		public static readonly Guid МноголетниеНасаждения = new Guid("43eab4bf-e6bb-e7f9-4931-69d62b305e47");//Многолетние насаждения
		public static readonly Guid ЗемельныеУчастки = new Guid("cde0feb5-f046-aca6-4410-9180c942f63f");//Земельные участки
		public static readonly Guid ОбъектыПриродопользования = new Guid("5c785c80-e0c7-cd70-4b4f-8205bce2e4f8");//Объекты природопользования
		public static readonly Guid КапитальныеВложенияВАрендованноеИмущество = new Guid("945ddea9-28c2-82ab-41e3-eb30184c9288");//Капитальные вложения в арендованное имущество
		public static readonly Guid ДругиеВидыОсновныхСредств = new Guid("284b1c97-2605-8a70-41ab-9138aef27133");//Другие виды основных средств
		public static ГруппыОС Получить(this ГруппыОС Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ГруппыОС Получить(this ГруппыОС Значение, Guid Ссылка)
		{
			if(Ссылка == Здания)
			{
				return ГруппыОС.Здания;
			}
			else if(Ссылка == Сооружения)
			{
				return ГруппыОС.Сооружения;
			}
			else if(Ссылка == МашиныИОборудование)
			{
				return ГруппыОС.МашиныИОборудование;
			}
			else if(Ссылка == ОфисноеОборудование)
			{
				return ГруппыОС.ОфисноеОборудование;
			}
			else if(Ссылка == ТранспортныеСредства)
			{
				return ГруппыОС.ТранспортныеСредства;
			}
			else if(Ссылка == ПроизводственныйИХозяйственныйИнвентарь)
			{
				return ГруппыОС.ПроизводственныйИХозяйственныйИнвентарь;
			}
			else if(Ссылка == РабочийСкот)
			{
				return ГруппыОС.РабочийСкот;
			}
			else if(Ссылка == ПродуктивныйСкот)
			{
				return ГруппыОС.ПродуктивныйСкот;
			}
			else if(Ссылка == МноголетниеНасаждения)
			{
				return ГруппыОС.МноголетниеНасаждения;
			}
			else if(Ссылка == ЗемельныеУчастки)
			{
				return ГруппыОС.ЗемельныеУчастки;
			}
			else if(Ссылка == ОбъектыПриродопользования)
			{
				return ГруппыОС.ОбъектыПриродопользования;
			}
			else if(Ссылка == КапитальныеВложенияВАрендованноеИмущество)
			{
				return ГруппыОС.КапитальныеВложенияВАрендованноеИмущество;
			}
			else if(Ссылка == ДругиеВидыОсновныхСредств)
			{
				return ГруппыОС.ДругиеВидыОсновныхСредств;
			}
			return ГруппыОС.ПустаяСсылка;
		}
		public static byte[] Ключ(this ГруппыОС Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ГруппыОС Значение)
		{
			switch (Значение)
			{
				case ГруппыОС.Здания: return Здания;
				case ГруппыОС.Сооружения: return Сооружения;
				case ГруппыОС.МашиныИОборудование: return МашиныИОборудование;
				case ГруппыОС.ОфисноеОборудование: return ОфисноеОборудование;
				case ГруппыОС.ТранспортныеСредства: return ТранспортныеСредства;
				case ГруппыОС.ПроизводственныйИХозяйственныйИнвентарь: return ПроизводственныйИХозяйственныйИнвентарь;
				case ГруппыОС.РабочийСкот: return РабочийСкот;
				case ГруппыОС.ПродуктивныйСкот: return ПродуктивныйСкот;
				case ГруппыОС.МноголетниеНасаждения: return МноголетниеНасаждения;
				case ГруппыОС.ЗемельныеУчастки: return ЗемельныеУчастки;
				case ГруппыОС.ОбъектыПриродопользования: return ОбъектыПриродопользования;
				case ГруппыОС.КапитальныеВложенияВАрендованноеИмущество: return КапитальныеВложенияВАрендованноеИмущество;
				case ГруппыОС.ДругиеВидыОсновныхСредств: return ДругиеВидыОсновныхСредств;
			}
			return Guid.Empty;
		}
	}
}